<?php
/**
 * Miffos framework
 * ----------------------------------------------
 *
 * Copyright (c) 2008, 2009 Martin Sadový (http://sodae.cz)
 *
 * This source file is subject to the "Miffos license" that is bundled
 * with this package in the file license.txt.
 *
 * @copyright  Copyright (c) 2008, 2009 Martin Sadový
 * @license    license.txt
 * @link       http://miffos.sodae.cz
 * @package    miffos
 * @version    $Id$
 */

class Sorter {
    
    /**
     * Vypíše název a cestu ke controlleru
     * @return string
     */
    public static function getControllerFile($name, $namespace){
        return array(self::getControllerDir().'/'.$namespace.'/'.$name.".controller.php",
                     self::getControllerDir().$name.".controller.php"
                 );
    }
    
    
    /**
     * Vypíše název a cestu k view
     * @return string
     */
    public static function getViewFile($name)
    {
        return self::getViewDir().$name.".phtml";
    }        


    /**
     * Vypíše název a cestu k modelu
     * @return string
     */
    public static function getModelFile($name)
    {
        return self::getModelDir().$name.".model.php";
    }


    /**
     * Vypíše název a cestu k controlu
     * @return string
     */
    public static function getControlFile($name)
    {
        return self::getControlDir().$name.".php";
    }

    
    /**
     * Vypíše název složky controlleru
     * @return string
     */
    public static function getControllerDir()
    {
        return "controllers/";
    }
    
    /**
     * Vypíše název složky view
     * @return string
     */
    public static function getViewDir()
    {
        return "views/";
    }
    
    /**
     * Vypíše název složky model
     * @return string
     */
    public static function getModelDir()
    {
        return "models/";   
    }

    /**
     * Vypíše název složky control
     * @return string
     */
    public static function getControlDir()
    {
        return "controls/";
    }

  	/**
  	 * Vypíše název Controlleru 
  	 * @param string $controller
  	 * @param bool $nameType
  	 * @return string
  	 */
  	public static function getController($controller, $nameType=false)
    {
  	    
  	    if(!$controller)
            throw new ApplicationException("missing-controller",1);
  	    
  	    return $nameType?$controller."Controller":$controller;
  	    
  	    
  	}
  	
  	
  	/**
  	 * Vypíše název Akce
  	 * @param string $action      	 
  	 * @param bool $nameType
  	 * @return string
  	 */
  	public static function getAction($action, $nameType=false, $ajax=true)
    {

  	    if(!$action)
            throw new ApplicationException("missing-method",2);
  	    
  	    return $nameType?$action.( (Application::get()->Http->isAjax() && $ajax)?"Ajax":"")."Action":$action;
  	}
  	

}
?>